<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Kyoto Cabinet: kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt; Class Template Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Kyoto Cabinet
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacekyotocabinet.html">kyotocabinet</a>      </li>
      <li class="navelem"><a class="el" href="classkyotocabinet_1_1PlantDB.html">PlantDB</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="kyotocabinet::PlantDB" --><!-- doxytag: inherits="kyotocabinet::BasicDB" -->
<p>Plant database.  
 <a href="classkyotocabinet_1_1PlantDB.html#details">More...</a></p>

<p><code>#include &lt;kcplantdb.h&gt;</code></p>

<p><a href="classkyotocabinet_1_1PlantDB-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB_1_1Cursor.html">Cursor</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classkyotocabinet_1_1PlantDB_1_1Cursor.html" title="Cursor to indicate a record.">Cursor</a> to indicate a record.  <a href="classkyotocabinet_1_1PlantDB_1_1Cursor.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>InnerNode</b></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inner node of B+ tree. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>InnerSlot</b></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Slot cache of inner nodes. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>LeafNode</b></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Leaf node of B+ tree. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>LeafSlot</b></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Slot cache of leaf nodes. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>Link</b></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Link to a node. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>LinkComparator</b></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classkyotocabinet_1_1Comparator.html" title="Interfrace of comparator of record keys.">Comparator</a> for links. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>Record</b></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Record data. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>RecordComparator</b></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classkyotocabinet_1_1Comparator.html" title="Interfrace of comparator of record keys.">Comparator</a> for records. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><b>ScopedVisitor</b></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Scoped visitor. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a2dac0630d591ea79ebd49f49b0cd363a">Option</a> { <a class="el" href="classkyotocabinet_1_1PlantDB.html#a2dac0630d591ea79ebd49f49b0cd363aa23d2cc96a4683a7933cb10a374be1b48">TSMALL</a> =  BASEDB::TSMALL, 
<a class="el" href="classkyotocabinet_1_1PlantDB.html#a2dac0630d591ea79ebd49f49b0cd363aa4890259d239a9cf8bb0e4725740eb7a1">TLINEAR</a> =  BASEDB::TLINEAR, 
<a class="el" href="classkyotocabinet_1_1PlantDB.html#a2dac0630d591ea79ebd49f49b0cd363aa1a67ed01dba834e8101146850ec49395">TCOMPRESS</a> =  BASEDB::TCOMPRESS
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tuning options.  <a href="classkyotocabinet_1_1PlantDB.html#a2dac0630d591ea79ebd49f49b0cd363a">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a9899e452d058237e3da51ddd907b7a36">Flag</a> { <a class="el" href="classkyotocabinet_1_1PlantDB.html#a9899e452d058237e3da51ddd907b7a36a281b85581665f2087a3aa7e0d03b9fd5">FOPEN</a> =  BASEDB::FOPEN, 
<a class="el" href="classkyotocabinet_1_1PlantDB.html#a9899e452d058237e3da51ddd907b7a36a372c26f534fafa4d3513ddcf51f0b1bc">FFATAL</a> =  BASEDB::FFATAL
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Status flags.  <a href="classkyotocabinet_1_1PlantDB.html#a9899e452d058237e3da51ddd907b7a36">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a51b8c31552639993a9efaf53f5b74606">PlantDB</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#a51b8c31552639993a9efaf53f5b74606"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a581534674acefaf79ccfb64c01257b6c">~PlantDB</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a581534674acefaf79ccfb64c01257b6c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a21b949bdd3a0b8fbb9b40ba1f7e3e825">accept</a> (const char *kbuf, size_t ksiz, <a class="el" href="classkyotocabinet_1_1DB_1_1Visitor.html">Visitor</a> *visitor, bool writable=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Accept a visitor to a record.  <a href="#a21b949bdd3a0b8fbb9b40ba1f7e3e825"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a6f6065674099e65c6243fdd1ffbc518b">accept_bulk</a> (const std::vector&lt; std::string &gt; &amp;keys, <a class="el" href="classkyotocabinet_1_1DB_1_1Visitor.html">Visitor</a> *visitor, bool writable=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Accept a visitor to multiple records at once.  <a href="#a6f6065674099e65c6243fdd1ffbc518b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#abd20793d6349fdc38a6cb5c7d85af8de">iterate</a> (<a class="el" href="classkyotocabinet_1_1DB_1_1Visitor.html">Visitor</a> *visitor, bool writable=true, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *checker=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate to accept a visitor for each record.  <a href="#abd20793d6349fdc38a6cb5c7d85af8de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#ac5b582f1dd74b76163773390e1680d75">scan_parallel</a> (<a class="el" href="classkyotocabinet_1_1DB_1_1Visitor.html">Visitor</a> *visitor, size_t thnum, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *checker=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Scan each record in parallel.  <a href="#ac5b582f1dd74b76163773390e1680d75"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Error.html">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#ad261c3aee01e0add954c633f2d67e57c">error</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the last happened error.  <a href="#ad261c3aee01e0add954c633f2d67e57c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a73aec7dc352ec9fa444eca7643443090">set_error</a> (const char *file, int32_t line, const char *func, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Error.html#aae81720eb2d1d8be04375d0f766d0fa2">Error::Code</a> code, const char *message)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the error information.  <a href="#a73aec7dc352ec9fa444eca7643443090"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a9bd13f6a03519f525aee2b3c9ccf8674">open</a> (const std::string &amp;<a class="el" href="classkyotocabinet_1_1PlantDB.html#ac73484d4225d2e3f888c2c4af43cfc25">path</a>, uint32_t mode=<a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664daed0e4bf55347835f8a1c277487767485">OWRITER</a>|<a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664dafddaf6558a2c6e43223eb5c6f0d0e240">OCREATE</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a database file.  <a href="#a9bd13f6a03519f525aee2b3c9ccf8674"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a6661d84682336411eac6b38baf16c64d">close</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the database file.  <a href="#a6661d84682336411eac6b38baf16c64d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a897d968c5d8c59ef65baa760eeb3bf49">synchronize</a> (bool hard=false, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1FileProcessor.html">FileProcessor</a> *proc=NULL, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *checker=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Synchronize updated contents with the file and the device.  <a href="#a897d968c5d8c59ef65baa760eeb3bf49"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a9fc52545ca3b3622ff07c2ee2a7a6af9">occupy</a> (bool writable=true, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1FileProcessor.html">FileProcessor</a> *proc=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Occupy database by locking and do something meanwhile.  <a href="#a9fc52545ca3b3622ff07c2ee2a7a6af9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a7e3ad76e45dab99b13901d93a38262ce">begin_transaction</a> (bool hard=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin transaction.  <a href="#a7e3ad76e45dab99b13901d93a38262ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a079d7249a694c9f3a434aa374b8b9f37">begin_transaction_try</a> (bool hard=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Try to begin transaction.  <a href="#a079d7249a694c9f3a434aa374b8b9f37"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#aaac800d0e99039e4c4ebc910733b431d">end_transaction</a> (bool commit=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">End transaction.  <a href="#aaac800d0e99039e4c4ebc910733b431d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a61809e5bd2610e1a06698aeb68817d64">clear</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove all records.  <a href="#a61809e5bd2610e1a06698aeb68817d64"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a31f43901e55fe473abdfbd0251c259a0">count</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of records.  <a href="#a31f43901e55fe473abdfbd0251c259a0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a3def0d36c043569c2995ef1454581af0">size</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of the database file.  <a href="#a3def0d36c043569c2995ef1454581af0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#ac73484d4225d2e3f888c2c4af43cfc25">path</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the path of the database file.  <a href="#ac73484d4225d2e3f888c2c4af43cfc25"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a1eecb3071cfc5e407c58ae47514fda38">status</a> (std::map&lt; std::string, std::string &gt; *strmap)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the miscellaneous status information.  <a href="#a1eecb3071cfc5e407c58ae47514fda38"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html">Cursor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a93f1873138591d62a508c0cfef53d7ba">cursor</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a cursor object.  <a href="#a93f1873138591d62a508c0cfef53d7ba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a46f313acb3516a1c6212bbb5dc296408">log</a> (const char *file, int32_t line, const char *func, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960">Logger::Kind</a> kind, const char *message)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a log message.  <a href="#a46f313acb3516a1c6212bbb5dc296408"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#ab3d62373c720573e45ee5efa35db63f6">tune_logger</a> (<a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html">Logger</a> *logger, uint32_t kinds=<a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6a985b6bc2e4f16c3cb394a3de9972dd">Logger::WARN</a>|<a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a2fc4717ffb4886b57aa5d343adf7d7ad">Logger::ERROR</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the internal logger.  <a href="#ab3d62373c720573e45ee5efa35db63f6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a63fb7a569888346bbcfcab2f66e5f77e">tune_meta_trigger</a> (MetaTrigger *trigger)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the internal meta operation trigger.  <a href="#a63fb7a569888346bbcfcab2f66e5f77e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a2ab55750ee54517bbb906605d87608e8">tune_alignment</a> (int8_t apow)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the power of the alignment of record size.  <a href="#a2ab55750ee54517bbb906605d87608e8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#ab3c7b8ef2fabf8decb7873a6440a7c10">tune_fbp</a> (int8_t fpow)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the power of the capacity of the free block pool.  <a href="#ab3c7b8ef2fabf8decb7873a6440a7c10"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#ac7162f152923ec6320b3296a51b5e6c7">tune_options</a> (int8_t opts)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the optional features.  <a href="#ac7162f152923ec6320b3296a51b5e6c7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#add148164ce7d221d9d21b80a1cb22301">tune_buckets</a> (int64_t bnum)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the number of buckets of the hash table.  <a href="#add148164ce7d221d9d21b80a1cb22301"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a3ecf251b8c769850ad476c1b4c37e2bb">tune_page</a> (int32_t psiz)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the size of each page.  <a href="#a3ecf251b8c769850ad476c1b4c37e2bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a73739d232b4ca2691b00e56be23f4139">tune_map</a> (int64_t msiz)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the size of the internal memory-mapped region.  <a href="#a73739d232b4ca2691b00e56be23f4139"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a88594067f983d1f0c9447b125b67cd4f">tune_defrag</a> (int64_t dfunit)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the unit step number of auto defragmentation.  <a href="#a88594067f983d1f0c9447b125b67cd4f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#ad5dc924b200aa4654816f8f34db60d84">tune_page_cache</a> (int64_t pccap)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the capacity size of the page cache.  <a href="#ad5dc924b200aa4654816f8f34db60d84"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#abf6d0d41498e61f5cad079ee1d2f4e64">tune_compressor</a> (<a class="el" href="classkyotocabinet_1_1Compressor.html">Compressor</a> *comp)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data compressor.  <a href="#abf6d0d41498e61f5cad079ee1d2f4e64"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a30e939d45db87ed9fcd9665cdb330252">tune_comparator</a> (<a class="el" href="classkyotocabinet_1_1Comparator.html">Comparator</a> *<a class="el" href="classkyotocabinet_1_1PlantDB.html#aed5f381acc0fb8e1c5274c714fd6c2f8">rcomp</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the record comparator.  <a href="#a30e939d45db87ed9fcd9665cdb330252"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a2a64a9265776c9a64aa6a38ce9445fa6">opaque</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the opaque data.  <a href="#a2a64a9265776c9a64aa6a38ce9445fa6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#a725afdfed6deaa967e9d56de86a2522f">synchronize_opaque</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Synchronize the opaque data.  <a href="#a725afdfed6deaa967e9d56de86a2522f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#ad7834fcf21b765e8398e98c614566806">defrag</a> (int64_t step=0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform defragmentation of the file.  <a href="#ad7834fcf21b765e8398e98c614566806"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#aa1fabb709560f368e86975eeddd8593b">flags</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the status flags.  <a href="#aa1fabb709560f368e86975eeddd8593b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkyotocabinet_1_1Comparator.html">Comparator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#aed5f381acc0fb8e1c5274c714fd6c2f8">rcomp</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the record comparator.  <a href="#aed5f381acc0fb8e1c5274c714fd6c2f8"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#ac375b62b78297a36224605077001139f">report</a> (const char *file, int32_t line, const char *func, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960">Logger::Kind</a> kind, const char *format,...)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Report a message for debugging.  <a href="#ac375b62b78297a36224605077001139f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#af5ac443334908fba3ada2f19de12c2d5">report_valist</a> (const char *file, int32_t line, const char *func, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960">Logger::Kind</a> kind, const char *format, va_list ap)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Report a message for debugging with variable number of arguments.  <a href="#af5ac443334908fba3ada2f19de12c2d5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#ade083f4ce74cba28627a8bd997d299e6">report_binary</a> (const char *file, int32_t line, const char *func, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960">Logger::Kind</a> kind, const char *name, const char *buf, size_t <a class="el" href="classkyotocabinet_1_1PlantDB.html#a3def0d36c043569c2995ef1454581af0">size</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Report the content of a binary buffer for debugging.  <a href="#ade083f4ce74cba28627a8bd997d299e6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1PlantDB.html#ac5017ce9d1abf69c59b6b7630f33430b">trigger_meta</a> (<a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html#a2f09321f0d989733609843ee94b3db74">MetaTrigger::Kind</a> kind, const char *message)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Trigger a meta database operation.  <a href="#ac5017ce9d1abf69c59b6b7630f33430b"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class BASEDB, uint8_t DBTYPE&gt;<br/>
class kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</h3>

<p>Plant database. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">BASEDB</td><td>a class compatible with the file hash database class. </td></tr>
    <tr><td class="paramname">DBTYPE</td><td>the database type number of the class. </td></tr>
  </table>
  </dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This class template is a template for concrete classes to operate tree databases. Template instance classes can be inherited but overwriting methods is forbidden. The class TreeDB is the instance of the file tree database. The class ForestDB is the instance of the directory tree database. Before every database operation, it is necessary to call the <a class="el" href="classkyotocabinet_1_1BasicDB.html#a6f8ee2f3bde5f5389119fe43696f9bdc" title="Open a database file.">BasicDB::open</a> method in order to open a database file and connect the database object to it. To avoid data missing or corruption, it is important to close every database file by the <a class="el" href="classkyotocabinet_1_1BasicDB.html#a8863ffedb9604742305ece7ccdb23c2a" title="Close the database file.">BasicDB::close</a> method when the database is no longer in use. It is forbidden for multible database objects in a process to open the same database at the same time. It is forbidden to share a database object with child processes. </dd></dl>
</div><hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a2dac0630d591ea79ebd49f49b0cd363a"></a><!-- doxytag: member="kyotocabinet::PlantDB::Option" ref="a2dac0630d591ea79ebd49f49b0cd363a" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classkyotocabinet_1_1PlantDB.html#a2dac0630d591ea79ebd49f49b0cd363a">kyotocabinet::PlantDB::Option</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tuning options. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a2dac0630d591ea79ebd49f49b0cd363aa23d2cc96a4683a7933cb10a374be1b48"></a><!-- doxytag: member="TSMALL" ref="a2dac0630d591ea79ebd49f49b0cd363aa23d2cc96a4683a7933cb10a374be1b48" args="" -->TSMALL</em>&nbsp;</td><td>
<p>use 32-bit addressing </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a2dac0630d591ea79ebd49f49b0cd363aa4890259d239a9cf8bb0e4725740eb7a1"></a><!-- doxytag: member="TLINEAR" ref="a2dac0630d591ea79ebd49f49b0cd363aa4890259d239a9cf8bb0e4725740eb7a1" args="" -->TLINEAR</em>&nbsp;</td><td>
<p>use linear collision chaining </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a2dac0630d591ea79ebd49f49b0cd363aa1a67ed01dba834e8101146850ec49395"></a><!-- doxytag: member="TCOMPRESS" ref="a2dac0630d591ea79ebd49f49b0cd363aa1a67ed01dba834e8101146850ec49395" args="" -->TCOMPRESS</em>&nbsp;</td><td>
<p>compress each record </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="a9899e452d058237e3da51ddd907b7a36"></a><!-- doxytag: member="kyotocabinet::PlantDB::Flag" ref="a9899e452d058237e3da51ddd907b7a36" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classkyotocabinet_1_1PlantDB.html#a9899e452d058237e3da51ddd907b7a36">kyotocabinet::PlantDB::Flag</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Status flags. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a9899e452d058237e3da51ddd907b7a36a281b85581665f2087a3aa7e0d03b9fd5"></a><!-- doxytag: member="FOPEN" ref="a9899e452d058237e3da51ddd907b7a36a281b85581665f2087a3aa7e0d03b9fd5" args="" -->FOPEN</em>&nbsp;</td><td>
<p>whether opened </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a9899e452d058237e3da51ddd907b7a36a372c26f534fafa4d3513ddcf51f0b1bc"></a><!-- doxytag: member="FFATAL" ref="a9899e452d058237e3da51ddd907b7a36a372c26f534fafa4d3513ddcf51f0b1bc" args="" -->FFATAL</em>&nbsp;</td><td>
<p>whether with fatal error </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a51b8c31552639993a9efaf53f5b74606"></a><!-- doxytag: member="kyotocabinet::PlantDB::PlantDB" ref="a51b8c31552639993a9efaf53f5b74606" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html">PlantDB</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constructor. </p>

</div>
</div>
<a class="anchor" id="a581534674acefaf79ccfb64c01257b6c"></a><!-- doxytag: member="kyotocabinet::PlantDB::~PlantDB" ref="a581534674acefaf79ccfb64c01257b6c" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::~<a class="el" href="classkyotocabinet_1_1PlantDB.html">PlantDB</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>If the database is not closed, it is closed implicitly. </dd></dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a21b949bdd3a0b8fbb9b40ba1f7e3e825"></a><!-- doxytag: member="kyotocabinet::PlantDB::accept" ref="a21b949bdd3a0b8fbb9b40ba1f7e3e825" args="(const char *kbuf, size_t ksiz, Visitor *visitor, bool writable=true)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a21b949bdd3a0b8fbb9b40ba1f7e3e825">accept</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>kbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>ksiz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1DB_1_1Visitor.html">Visitor</a> *&#160;</td>
          <td class="paramname"><em>visitor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>writable</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Accept a visitor to a record. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">kbuf</td><td>the pointer to the key region. </td></tr>
    <tr><td class="paramname">ksiz</td><td>the size of the key region. </td></tr>
    <tr><td class="paramname">visitor</td><td>a visitor object. </td></tr>
    <tr><td class="paramname">writable</td><td>true for writable operation, or false for read-only operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The operation for each record is performed atomically and other threads accessing the same record are blocked. To avoid deadlock, any explicit database operation must not be performed in this function. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a5ae32216900a642c5182e7ee67677467">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a6f6065674099e65c6243fdd1ffbc518b"></a><!-- doxytag: member="kyotocabinet::PlantDB::accept_bulk" ref="a6f6065674099e65c6243fdd1ffbc518b" args="(const std::vector&lt; std::string &gt; &amp;keys, Visitor *visitor, bool writable=true)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a6f6065674099e65c6243fdd1ffbc518b">accept_bulk</a> </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1DB_1_1Visitor.html">Visitor</a> *&#160;</td>
          <td class="paramname"><em>visitor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>writable</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Accept a visitor to multiple records at once. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">keys</td><td>specifies a string vector of the keys. </td></tr>
    <tr><td class="paramname">visitor</td><td>a visitor object. </td></tr>
    <tr><td class="paramname">writable</td><td>true for writable operation, or false for read-only operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The operations for specified records are performed atomically and other threads accessing the same records are blocked. To avoid deadlock, any explicit database operation must not be performed in this function. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#a0213c08b8dce9401ca5f5b1bc19aa4a6">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="abd20793d6349fdc38a6cb5c7d85af8de"></a><!-- doxytag: member="kyotocabinet::PlantDB::iterate" ref="abd20793d6349fdc38a6cb5c7d85af8de" args="(Visitor *visitor, bool writable=true, ProgressChecker *checker=NULL)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#abd20793d6349fdc38a6cb5c7d85af8de">iterate</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1DB_1_1Visitor.html">Visitor</a> *&#160;</td>
          <td class="paramname"><em>visitor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>writable</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *&#160;</td>
          <td class="paramname"><em>checker</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Iterate to accept a visitor for each record. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">visitor</td><td>a visitor object. </td></tr>
    <tr><td class="paramname">writable</td><td>true for writable operation, or false for read-only operation. </td></tr>
    <tr><td class="paramname">checker</td><td>a progress checker object. If it is NULL, no checking is performed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The whole iteration is performed atomically and other threads are blocked. To avoid deadlock, any explicit database operation must not be performed in this function. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#a809c175a7a69deaa56ed6b9cef9fa973">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="ac5b582f1dd74b76163773390e1680d75"></a><!-- doxytag: member="kyotocabinet::PlantDB::scan_parallel" ref="ac5b582f1dd74b76163773390e1680d75" args="(Visitor *visitor, size_t thnum, ProgressChecker *checker=NULL)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#ac5b582f1dd74b76163773390e1680d75">scan_parallel</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1DB_1_1Visitor.html">Visitor</a> *&#160;</td>
          <td class="paramname"><em>visitor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>thnum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *&#160;</td>
          <td class="paramname"><em>checker</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Scan each record in parallel. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">visitor</td><td>a visitor object. </td></tr>
    <tr><td class="paramname">thnum</td><td>the number of worker threads. </td></tr>
    <tr><td class="paramname">checker</td><td>a progress checker object. If it is NULL, no checking is performed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This function is for reading records and not for updating ones. The return value of the visitor is just ignored. To avoid deadlock, any explicit database operation must not be performed in this function. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#acb775c6dac437297867ef97575918d40">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="ad261c3aee01e0add954c633f2d67e57c"></a><!-- doxytag: member="kyotocabinet::PlantDB::error" ref="ad261c3aee01e0add954c633f2d67e57c" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Error.html">Error</a> <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#ad261c3aee01e0add954c633f2d67e57c">error</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the last happened error. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the last happened error. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#a0bbc7d536f192222362a98af678abd16">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="a73aec7dc352ec9fa444eca7643443090"></a><!-- doxytag: member="kyotocabinet::PlantDB::set_error" ref="a73aec7dc352ec9fa444eca7643443090" args="(const char *file, int32_t line, const char *func, Error::Code code, const char *message)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a73aec7dc352ec9fa444eca7643443090">set_error</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>line</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Error.html#aae81720eb2d1d8be04375d0f766d0fa2">Error::Code</a>&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>message</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the error information. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>the file name of the program source code. </td></tr>
    <tr><td class="paramname">line</td><td>the line number of the program source code. </td></tr>
    <tr><td class="paramname">func</td><td>the function name of the program source code. </td></tr>
    <tr><td class="paramname">code</td><td>an error code. </td></tr>
    <tr><td class="paramname">message</td><td>a supplement message. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9bd13f6a03519f525aee2b3c9ccf8674"></a><!-- doxytag: member="kyotocabinet::PlantDB::open" ref="a9bd13f6a03519f525aee2b3c9ccf8674" args="(const std::string &amp;path, uint32_t mode=OWRITER|OCREATE)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a9bd13f6a03519f525aee2b3c9ccf8674">open</a> </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mode</em> = <code><a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664daed0e4bf55347835f8a1c277487767485">OWRITER</a>&#160;|&#160;<a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664dafddaf6558a2c6e43223eb5c6f0d0e240">OCREATE</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Open a database file. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>the path of a database file. </td></tr>
    <tr><td class="paramname">mode</td><td>the connection mode. <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664daed0e4bf55347835f8a1c277487767485" title="open as a writer">BasicDB::OWRITER</a> as a writer, <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664daac1e035a2264effff6af2f74af4fcf2d" title="open as a reader">BasicDB::OREADER</a> as a reader. The following may be added to the writer mode by bitwise-or: <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664dafddaf6558a2c6e43223eb5c6f0d0e240" title="writer creating">BasicDB::OCREATE</a>, which means it creates a new database if the file does not exist, <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da84636e0600e10a014e61abcb53c11d39" title="writer truncating">BasicDB::OTRUNCATE</a>, which means it creates a new database regardless if the file exists, <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da648178f135de06196ff0a59b6d50ffc0" title="auto transaction">BasicDB::OAUTOTRAN</a>, which means each updating operation is performed in implicit transaction, <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664dac6952961b46d7d1e71df632e45d80a93" title="auto synchronization">BasicDB::OAUTOSYNC</a>, which means each updating operation is followed by implicit synchronization with the file system. The following may be added to both of the reader mode and the writer mode by bitwise-or: <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da3d1f28662fd5f8c91749aa57cc6f4732" title="open without locking">BasicDB::ONOLOCK</a>, which means it opens the database file without file locking, <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da12f4827b918598179bf05c0797127687" title="lock without blocking">BasicDB::OTRYLOCK</a>, which means locking is performed without blocking, <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da4d79a8f0bc49849b0b434fb4fda4836a" title="open without auto repair">BasicDB::ONOREPAIR</a>, which means the database file is not repaired implicitly even if file destruction is detected. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Every opened database must be closed by the <a class="el" href="classkyotocabinet_1_1BasicDB.html#a8863ffedb9604742305ece7ccdb23c2a" title="Close the database file.">BasicDB::close</a> method when it is no longer in use. It is not allowed for two or more database objects in the same process to keep their connections to the same database file at the same time. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#a6f8ee2f3bde5f5389119fe43696f9bdc">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="a6661d84682336411eac6b38baf16c64d"></a><!-- doxytag: member="kyotocabinet::PlantDB::close" ref="a6661d84682336411eac6b38baf16c64d" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a6661d84682336411eac6b38baf16c64d">close</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Close the database file. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#a8863ffedb9604742305ece7ccdb23c2a">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="a897d968c5d8c59ef65baa760eeb3bf49"></a><!-- doxytag: member="kyotocabinet::PlantDB::synchronize" ref="a897d968c5d8c59ef65baa760eeb3bf49" args="(bool hard=false, FileProcessor *proc=NULL, ProgressChecker *checker=NULL)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a897d968c5d8c59ef65baa760eeb3bf49">synchronize</a> </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>hard</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1FileProcessor.html">FileProcessor</a> *&#160;</td>
          <td class="paramname"><em>proc</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *&#160;</td>
          <td class="paramname"><em>checker</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Synchronize updated contents with the file and the device. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">hard</td><td>true for physical synchronization with the device, or false for logical synchronization with the file system. </td></tr>
    <tr><td class="paramname">proc</td><td>a postprocessor object. If it is NULL, no postprocessing is performed. </td></tr>
    <tr><td class="paramname">checker</td><td>a progress checker object. If it is NULL, no checking is performed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The operation of the postprocessor is performed atomically and other threads accessing the same record are blocked. To avoid deadlock, any explicit database operation must not be performed in this function. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#acf7a2e70f3c1e72be5241f0d611f3d70">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="a9fc52545ca3b3622ff07c2ee2a7a6af9"></a><!-- doxytag: member="kyotocabinet::PlantDB::occupy" ref="a9fc52545ca3b3622ff07c2ee2a7a6af9" args="(bool writable=true, FileProcessor *proc=NULL)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a9fc52545ca3b3622ff07c2ee2a7a6af9">occupy</a> </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>writable</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1FileProcessor.html">FileProcessor</a> *&#160;</td>
          <td class="paramname"><em>proc</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Occupy database by locking and do something meanwhile. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">writable</td><td>true to use writer lock, or false to use reader lock. </td></tr>
    <tr><td class="paramname">proc</td><td>a processor object. If it is NULL, no processing is performed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The operation of the processor is performed atomically and other threads accessing the same record are blocked. To avoid deadlock, any explicit database operation must not be performed in this function. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#ae0b69e1cb959b7890f84c195608aef68">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="a7e3ad76e45dab99b13901d93a38262ce"></a><!-- doxytag: member="kyotocabinet::PlantDB::begin_transaction" ref="a7e3ad76e45dab99b13901d93a38262ce" args="(bool hard=false)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a7e3ad76e45dab99b13901d93a38262ce">begin_transaction</a> </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>hard</em> = <code>false</code></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Begin transaction. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">hard</td><td>true for physical synchronization with the device, or false for logical synchronization with the file system. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#a7999f8bf717cfd22ceed42bc54755f00">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="a079d7249a694c9f3a434aa374b8b9f37"></a><!-- doxytag: member="kyotocabinet::PlantDB::begin_transaction_try" ref="a079d7249a694c9f3a434aa374b8b9f37" args="(bool hard=false)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a079d7249a694c9f3a434aa374b8b9f37">begin_transaction_try</a> </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>hard</em> = <code>false</code></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Try to begin transaction. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">hard</td><td>true for physical synchronization with the device, or false for logical synchronization with the file system. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#a2cfd959c679cdb7716eab913ac227a6c">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="aaac800d0e99039e4c4ebc910733b431d"></a><!-- doxytag: member="kyotocabinet::PlantDB::end_transaction" ref="aaac800d0e99039e4c4ebc910733b431d" args="(bool commit=true)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#aaac800d0e99039e4c4ebc910733b431d">end_transaction</a> </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>commit</em> = <code>true</code></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>End transaction. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">commit</td><td>true to commit the transaction, or false to abort the transaction. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#a2c32f6bb5544045cf75c5aac1e2d1cac">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="a61809e5bd2610e1a06698aeb68817d64"></a><!-- doxytag: member="kyotocabinet::PlantDB::clear" ref="a61809e5bd2610e1a06698aeb68817d64" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a61809e5bd2610e1a06698aeb68817d64">clear</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove all records. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a858d6b76cd5f0a5425a58bfd7b86f2f5">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a31f43901e55fe473abdfbd0251c259a0"></a><!-- doxytag: member="kyotocabinet::PlantDB::count" ref="a31f43901e55fe473abdfbd0251c259a0" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int64_t <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a31f43901e55fe473abdfbd0251c259a0">count</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the number of records. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of records, or -1 on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a9ec9e0577dbd25a5cd04dc7509488e8a">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a3def0d36c043569c2995ef1454581af0"></a><!-- doxytag: member="kyotocabinet::PlantDB::size" ref="a3def0d36c043569c2995ef1454581af0" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int64_t <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a3def0d36c043569c2995ef1454581af0">size</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the size of the database file. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the size of the database file in bytes, or -1 on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#a573aae4382f43ed148ea035baa4d5f51">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="ac73484d4225d2e3f888c2c4af43cfc25"></a><!-- doxytag: member="kyotocabinet::PlantDB::path" ref="ac73484d4225d2e3f888c2c4af43cfc25" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#ac73484d4225d2e3f888c2c4af43cfc25">path</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the path of the database file. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the path of the database file, or an empty string on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#af67d9b139fcfb2fd5bc38d97d7a1856b">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="a1eecb3071cfc5e407c58ae47514fda38"></a><!-- doxytag: member="kyotocabinet::PlantDB::status" ref="a1eecb3071cfc5e407c58ae47514fda38" args="(std::map&lt; std::string, std::string &gt; *strmap)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a1eecb3071cfc5e407c58ae47514fda38">status</a> </td>
          <td>(</td>
          <td class="paramtype">std::map&lt; std::string, std::string &gt; *&#160;</td>
          <td class="paramname"><em>strmap</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the miscellaneous status information. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">strmap</td><td>a string map to contain the result. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#ac8807fad23476a2eb7da0c869c546727">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="a93f1873138591d62a508c0cfef53d7ba"></a><!-- doxytag: member="kyotocabinet::PlantDB::cursor" ref="a93f1873138591d62a508c0cfef53d7ba" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html">Cursor</a>* <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a93f1873138591d62a508c0cfef53d7ba">cursor</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a cursor object. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the return value is the created cursor object. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Because the object of the return value is allocated by the constructor, it should be released with the delete operator when it is no longer in use. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#af270fcad9cfa1dce1b661c33c07165d6">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="a46f313acb3516a1c6212bbb5dc296408"></a><!-- doxytag: member="kyotocabinet::PlantDB::log" ref="a46f313acb3516a1c6212bbb5dc296408" args="(const char *file, int32_t line, const char *func, Logger::Kind kind, const char *message)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a46f313acb3516a1c6212bbb5dc296408">log</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>line</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960">Logger::Kind</a>&#160;</td>
          <td class="paramname"><em>kind</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>message</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write a log message. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>the file name of the program source code. </td></tr>
    <tr><td class="paramname">line</td><td>the line number of the program source code. </td></tr>
    <tr><td class="paramname">func</td><td>the function name of the program source code. </td></tr>
    <tr><td class="paramname">kind</td><td>the kind of the event. <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960ac39609b521fbe09d9c41b45561b114b6" title="debugging">Logger::DEBUG</a> for debugging, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6bf810306530147894e41520a3d918b9" title="normal information">Logger::INFO</a> for normal information, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6a985b6bc2e4f16c3cb394a3de9972dd" title="warning">Logger::WARN</a> for warning, and <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a2fc4717ffb4886b57aa5d343adf7d7ad" title="error">Logger::ERROR</a> for fatal error. </td></tr>
    <tr><td class="paramname">message</td><td>the supplement message. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab3d62373c720573e45ee5efa35db63f6"></a><!-- doxytag: member="kyotocabinet::PlantDB::tune_logger" ref="ab3d62373c720573e45ee5efa35db63f6" args="(Logger *logger, uint32_t kinds=Logger::WARN|Logger::ERROR)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#ab3d62373c720573e45ee5efa35db63f6">tune_logger</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html">Logger</a> *&#160;</td>
          <td class="paramname"><em>logger</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>kinds</em> = <code><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6a985b6bc2e4f16c3cb394a3de9972dd">Logger::WARN</a>&#160;|&#160;<a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a2fc4717ffb4886b57aa5d343adf7d7ad">Logger::ERROR</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the internal logger. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">logger</td><td>the logger object. </td></tr>
    <tr><td class="paramname">kinds</td><td>kinds of logged messages by bitwise-or: <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960ac39609b521fbe09d9c41b45561b114b6" title="debugging">Logger::DEBUG</a> for debugging, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6bf810306530147894e41520a3d918b9" title="normal information">Logger::INFO</a> for normal information, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6a985b6bc2e4f16c3cb394a3de9972dd" title="warning">Logger::WARN</a> for warning, and <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a2fc4717ffb4886b57aa5d343adf7d7ad" title="error">Logger::ERROR</a> for fatal error. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1BasicDB.html#a26a13dacff680288b1169a8f27d8a34b">kyotocabinet::BasicDB</a>.</p>

</div>
</div>
<a class="anchor" id="a63fb7a569888346bbcfcab2f66e5f77e"></a><!-- doxytag: member="kyotocabinet::PlantDB::tune_meta_trigger" ref="a63fb7a569888346bbcfcab2f66e5f77e" args="(MetaTrigger *trigger)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a63fb7a569888346bbcfcab2f66e5f77e">tune_meta_trigger</a> </td>
          <td>(</td>
          <td class="paramtype">MetaTrigger *&#160;</td>
          <td class="paramname"><em>trigger</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the internal meta operation trigger. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">trigger</td><td>the trigger object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a2ab55750ee54517bbb906605d87608e8"></a><!-- doxytag: member="kyotocabinet::PlantDB::tune_alignment" ref="a2ab55750ee54517bbb906605d87608e8" args="(int8_t apow)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a2ab55750ee54517bbb906605d87608e8">tune_alignment</a> </td>
          <td>(</td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>apow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the power of the alignment of record size. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">apow</td><td>the power of the alignment of record size. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="ab3c7b8ef2fabf8decb7873a6440a7c10"></a><!-- doxytag: member="kyotocabinet::PlantDB::tune_fbp" ref="ab3c7b8ef2fabf8decb7873a6440a7c10" args="(int8_t fpow)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#ab3c7b8ef2fabf8decb7873a6440a7c10">tune_fbp</a> </td>
          <td>(</td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>fpow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the power of the capacity of the free block pool. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fpow</td><td>the power of the capacity of the free block pool. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="ac7162f152923ec6320b3296a51b5e6c7"></a><!-- doxytag: member="kyotocabinet::PlantDB::tune_options" ref="ac7162f152923ec6320b3296a51b5e6c7" args="(int8_t opts)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#ac7162f152923ec6320b3296a51b5e6c7">tune_options</a> </td>
          <td>(</td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>opts</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the optional features. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">opts</td><td>the optional features by bitwise-or: BasicDB::TSMALL to use 32-bit addressing, BasicDB::TLINEAR to use linear collision chaining, BasicDB::TCOMPRESS to compress each record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="add148164ce7d221d9d21b80a1cb22301"></a><!-- doxytag: member="kyotocabinet::PlantDB::tune_buckets" ref="add148164ce7d221d9d21b80a1cb22301" args="(int64_t bnum)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#add148164ce7d221d9d21b80a1cb22301">tune_buckets</a> </td>
          <td>(</td>
          <td class="paramtype">int64_t&#160;</td>
          <td class="paramname"><em>bnum</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the number of buckets of the hash table. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">bnum</td><td>the number of buckets of the hash table. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a3ecf251b8c769850ad476c1b4c37e2bb"></a><!-- doxytag: member="kyotocabinet::PlantDB::tune_page" ref="a3ecf251b8c769850ad476c1b4c37e2bb" args="(int32_t psiz)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a3ecf251b8c769850ad476c1b4c37e2bb">tune_page</a> </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>psiz</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the size of each page. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">psiz</td><td>the size of each page. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a73739d232b4ca2691b00e56be23f4139"></a><!-- doxytag: member="kyotocabinet::PlantDB::tune_map" ref="a73739d232b4ca2691b00e56be23f4139" args="(int64_t msiz)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a73739d232b4ca2691b00e56be23f4139">tune_map</a> </td>
          <td>(</td>
          <td class="paramtype">int64_t&#160;</td>
          <td class="paramname"><em>msiz</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the size of the internal memory-mapped region. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">msiz</td><td>the size of the internal memory-mapped region. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a88594067f983d1f0c9447b125b67cd4f"></a><!-- doxytag: member="kyotocabinet::PlantDB::tune_defrag" ref="a88594067f983d1f0c9447b125b67cd4f" args="(int64_t dfunit)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a88594067f983d1f0c9447b125b67cd4f">tune_defrag</a> </td>
          <td>(</td>
          <td class="paramtype">int64_t&#160;</td>
          <td class="paramname"><em>dfunit</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the unit step number of auto defragmentation. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dfunit</td><td>the unit step number of auto defragmentation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="ad5dc924b200aa4654816f8f34db60d84"></a><!-- doxytag: member="kyotocabinet::PlantDB::tune_page_cache" ref="ad5dc924b200aa4654816f8f34db60d84" args="(int64_t pccap)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#ad5dc924b200aa4654816f8f34db60d84">tune_page_cache</a> </td>
          <td>(</td>
          <td class="paramtype">int64_t&#160;</td>
          <td class="paramname"><em>pccap</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the capacity size of the page cache. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pccap</td><td>the capacity size of the page cache. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="abf6d0d41498e61f5cad079ee1d2f4e64"></a><!-- doxytag: member="kyotocabinet::PlantDB::tune_compressor" ref="abf6d0d41498e61f5cad079ee1d2f4e64" args="(Compressor *comp)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#abf6d0d41498e61f5cad079ee1d2f4e64">tune_compressor</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1Compressor.html">Compressor</a> *&#160;</td>
          <td class="paramname"><em>comp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the data compressor. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">comp</td><td>the data compressor object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a30e939d45db87ed9fcd9665cdb330252"></a><!-- doxytag: member="kyotocabinet::PlantDB::tune_comparator" ref="a30e939d45db87ed9fcd9665cdb330252" args="(Comparator *rcomp)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a30e939d45db87ed9fcd9665cdb330252">tune_comparator</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1Comparator.html">Comparator</a> *&#160;</td>
          <td class="paramname"><em>rcomp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the record comparator. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">rcomp</td><td>the record comparator object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Several built-in comparators are provided. LEXICALCOMP for the default lexical comparator. DECIMALCOMP for the decimal comparator. LEXICALDESCCOMP for the lexical descending comparator. DECIMALDESCCOMP for the lexical descending comparator. </dd></dl>

</div>
</div>
<a class="anchor" id="a2a64a9265776c9a64aa6a38ce9445fa6"></a><!-- doxytag: member="kyotocabinet::PlantDB::opaque" ref="a2a64a9265776c9a64aa6a38ce9445fa6" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a2a64a9265776c9a64aa6a38ce9445fa6">opaque</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the opaque data. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the pointer to the opaque data region, whose size is 16 bytes. </dd></dl>

</div>
</div>
<a class="anchor" id="a725afdfed6deaa967e9d56de86a2522f"></a><!-- doxytag: member="kyotocabinet::PlantDB::synchronize_opaque" ref="a725afdfed6deaa967e9d56de86a2522f" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#a725afdfed6deaa967e9d56de86a2522f">synchronize_opaque</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Synchronize the opaque data. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="ad7834fcf21b765e8398e98c614566806"></a><!-- doxytag: member="kyotocabinet::PlantDB::defrag" ref="ad7834fcf21b765e8398e98c614566806" args="(int64_t step=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#ad7834fcf21b765e8398e98c614566806">defrag</a> </td>
          <td>(</td>
          <td class="paramtype">int64_t&#160;</td>
          <td class="paramname"><em>step</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Perform defragmentation of the file. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">step</td><td>the number of steps. If it is not more than 0, the whole region is defraged. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="aa1fabb709560f368e86975eeddd8593b"></a><!-- doxytag: member="kyotocabinet::PlantDB::flags" ref="aa1fabb709560f368e86975eeddd8593b" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">uint8_t <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#aa1fabb709560f368e86975eeddd8593b">flags</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the status flags. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the status flags, or 0 on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="aed5f381acc0fb8e1c5274c714fd6c2f8"></a><!-- doxytag: member="kyotocabinet::PlantDB::rcomp" ref="aed5f381acc0fb8e1c5274c714fd6c2f8" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkyotocabinet_1_1Comparator.html">Comparator</a>* <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#aed5f381acc0fb8e1c5274c714fd6c2f8">rcomp</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the record comparator. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the record comparator object. </dd></dl>

</div>
</div>
<a class="anchor" id="ac375b62b78297a36224605077001139f"></a><!-- doxytag: member="kyotocabinet::PlantDB::report" ref="ac375b62b78297a36224605077001139f" args="(const char *file, int32_t line, const char *func, Logger::Kind kind, const char *format,...)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#ac375b62b78297a36224605077001139f">report</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>line</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960">Logger::Kind</a>&#160;</td>
          <td class="paramname"><em>kind</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Report a message for debugging. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>the file name of the program source code. </td></tr>
    <tr><td class="paramname">line</td><td>the line number of the program source code. </td></tr>
    <tr><td class="paramname">func</td><td>the function name of the program source code. </td></tr>
    <tr><td class="paramname">kind</td><td>the kind of the event. <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960ac39609b521fbe09d9c41b45561b114b6" title="debugging">Logger::DEBUG</a> for debugging, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6bf810306530147894e41520a3d918b9" title="normal information">Logger::INFO</a> for normal information, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6a985b6bc2e4f16c3cb394a3de9972dd" title="warning">Logger::WARN</a> for warning, and <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a2fc4717ffb4886b57aa5d343adf7d7ad" title="error">Logger::ERROR</a> for fatal error. </td></tr>
    <tr><td class="paramname">format</td><td>the printf-like format string. </td></tr>
    <tr><td class="paramname">...</td><td>used according to the format string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af5ac443334908fba3ada2f19de12c2d5"></a><!-- doxytag: member="kyotocabinet::PlantDB::report_valist" ref="af5ac443334908fba3ada2f19de12c2d5" args="(const char *file, int32_t line, const char *func, Logger::Kind kind, const char *format, va_list ap)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#af5ac443334908fba3ada2f19de12c2d5">report_valist</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>line</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960">Logger::Kind</a>&#160;</td>
          <td class="paramname"><em>kind</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&#160;</td>
          <td class="paramname"><em>ap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Report a message for debugging with variable number of arguments. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>the file name of the program source code. </td></tr>
    <tr><td class="paramname">line</td><td>the line number of the program source code. </td></tr>
    <tr><td class="paramname">func</td><td>the function name of the program source code. </td></tr>
    <tr><td class="paramname">kind</td><td>the kind of the event. <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960ac39609b521fbe09d9c41b45561b114b6" title="debugging">Logger::DEBUG</a> for debugging, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6bf810306530147894e41520a3d918b9" title="normal information">Logger::INFO</a> for normal information, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6a985b6bc2e4f16c3cb394a3de9972dd" title="warning">Logger::WARN</a> for warning, and <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a2fc4717ffb4886b57aa5d343adf7d7ad" title="error">Logger::ERROR</a> for fatal error. </td></tr>
    <tr><td class="paramname">format</td><td>the printf-like format string. </td></tr>
    <tr><td class="paramname">ap</td><td>used according to the format string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ade083f4ce74cba28627a8bd997d299e6"></a><!-- doxytag: member="kyotocabinet::PlantDB::report_binary" ref="ade083f4ce74cba28627a8bd997d299e6" args="(const char *file, int32_t line, const char *func, Logger::Kind kind, const char *name, const char *buf, size_t size)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#ade083f4ce74cba28627a8bd997d299e6">report_binary</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>line</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960">Logger::Kind</a>&#160;</td>
          <td class="paramname"><em>kind</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Report the content of a binary buffer for debugging. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>the file name of the epicenter. </td></tr>
    <tr><td class="paramname">line</td><td>the line number of the epicenter. </td></tr>
    <tr><td class="paramname">func</td><td>the function name of the program source code. </td></tr>
    <tr><td class="paramname">kind</td><td>the kind of the event. <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960ac39609b521fbe09d9c41b45561b114b6" title="debugging">Logger::DEBUG</a> for debugging, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6bf810306530147894e41520a3d918b9" title="normal information">Logger::INFO</a> for normal information, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6a985b6bc2e4f16c3cb394a3de9972dd" title="warning">Logger::WARN</a> for warning, and <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a2fc4717ffb4886b57aa5d343adf7d7ad" title="error">Logger::ERROR</a> for fatal error. </td></tr>
    <tr><td class="paramname">name</td><td>the name of the information. </td></tr>
    <tr><td class="paramname">buf</td><td>the binary buffer. </td></tr>
    <tr><td class="paramname">size</td><td>the size of the binary buffer </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac5017ce9d1abf69c59b6b7630f33430b"></a><!-- doxytag: member="kyotocabinet::PlantDB::trigger_meta" ref="ac5017ce9d1abf69c59b6b7630f33430b" args="(MetaTrigger::Kind kind, const char *message)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BASEDB , uint8_t DBTYPE&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classkyotocabinet_1_1PlantDB.html">kyotocabinet::PlantDB</a>&lt; BASEDB, DBTYPE &gt;::<a class="el" href="classkyotocabinet_1_1PlantDB.html#ac5017ce9d1abf69c59b6b7630f33430b">trigger_meta</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html#a2f09321f0d989733609843ee94b3db74">MetaTrigger::Kind</a>&#160;</td>
          <td class="paramname"><em>kind</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>message</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Trigger a meta database operation. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">kind</td><td>the kind of the event. <a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html#a2f09321f0d989733609843ee94b3db74aba95e02b8d3a3a629b23fbc8b8876930" title="opening">MetaTrigger::OPEN</a> for opening, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html#a2f09321f0d989733609843ee94b3db74a9268399a1c52eb1b1c44418f528dadf1" title="closing">MetaTrigger::CLOSE</a> for closing, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html#a2f09321f0d989733609843ee94b3db74a4a53cf981a346b515fb6c6407c9f35be" title="clearing">MetaTrigger::CLEAR</a> for clearing, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html#a2f09321f0d989733609843ee94b3db74a1cd1473419913853794c7062dc24fcb7" title="iteration">MetaTrigger::ITERATE</a> for iteration, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html#a2f09321f0d989733609843ee94b3db74a6eb9ba3e6a6790bc7e7fe805ef11bd71" title="synchronization">MetaTrigger::SYNCHRONIZE</a> for synchronization, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html#a2f09321f0d989733609843ee94b3db74a4c9183a4ad83ff732018941b800d7179" title="beginning transaction">MetaTrigger::BEGINTRAN</a> for beginning transaction, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html#a2f09321f0d989733609843ee94b3db74a96c4d9b511e7285ce109dc69de1d8681" title="committing transaction">MetaTrigger::COMMITTRAN</a> for committing transaction, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html#a2f09321f0d989733609843ee94b3db74ae57d6836e8d81951ff982294c866e858" title="aborting transaction">MetaTrigger::ABORTTRAN</a> for aborting transaction, and <a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html#a2f09321f0d989733609843ee94b3db74acde750007f5dc86727b311fafeee6843" title="miscellaneous operation">MetaTrigger::MISC</a> for miscellaneous operations. </td></tr>
    <tr><td class="paramname">message</td><td>the supplement message. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Fri May 25 2012 01:21:36 for Kyoto Cabinet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>
